package kr.saeildamil.androidstudy_second.gesture;

import java.util.ArrayList;

import kr.saeildamil.andrordstudy.second.R;
import android.app.Activity;
import android.gesture.Gesture;
import android.gesture.GestureLibraries;
import android.gesture.GestureLibrary;
import android.gesture.GestureOverlayView;
import android.gesture.GestureOverlayView.OnGesturePerformedListener;
import android.gesture.Prediction;
import android.os.Bundle;
import android.widget.TextView;

public class CustomGesture extends Activity {
	TextView mTextCounter;
	int mCount = 10;
	GestureLibrary mGesLib;
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.ch31_customgesture);
		
		mTextCounter = (TextView) findViewById(R.id.count);
		mTextCounter.setText(Integer.toString(mCount));
		
		mGesLib = GestureLibraries.fromRawResource(this, R.raw.gestures);
		if (mGesLib.load() == false){
			finish();
		}
		
		GestureOverlayView gestures = (GestureOverlayView) findViewById(R.id.gestures);
		gestures.addOnGesturePerformedListener(mListener);
	}
	
	OnGesturePerformedListener mListener = new OnGesturePerformedListener() {
		public void onGesturePerformed(GestureOverlayView overlay, Gesture gesture) {
			ArrayList<Prediction> predictions = mGesLib.recognize(gesture);
			
			if (predictions.size()!= 0){
				Prediction prediction = predictions.get(0);
				String name = prediction.name;
				if (prediction.score > 1.0){
					if (name.equalsIgnoreCase("kiyuk")){
						mCount++;
					}else if (name.equalsIgnoreCase("niun")){
						mCount--;
					}else {
						mCount = 10;
					}
					mTextCounter.setText(Integer.toString(mCount));
				}
			}
		}
	};
	
}
